listbox: Properly handle double click
authorAlexander Larsson <alexl@redhat.com>
Mon, 17 Jun 2013 13:12:26 +0000 (15:12 +0200)
committerAlexander Larsson <alexl@redhat.com>
Mon, 17 Jun 2013 13:15:07 +0000 (15:15 +0200)
We never want to handle GDK_2BUTTON_PRESS like a normal first click.

gtk/gtklistbox.c

index 20b2fe90428a9ac9a364d3f560dc4f1ba61f1610..88edaad04d657ed7de874d7b483ac6a23500ccb0 100644 (file)
@@ -1221,7 +1221,13 @@ gtk_list_box_real_button_press_event (GtkWidget      *widget,
       row = gtk_list_box_get_row_at_y (list_box, y);
       if (row != NULL)
         {
-          if (ctrl_pressed)
+          if (event->type == GDK_2BUTTON_PRESS)
+            {
+              if (!priv->activate_single_click)
+                g_signal_emit (list_box, signals[ROW_ACTIVATED], 0,
+                               row);
+            }
+          else if (ctrl_pressed)
             {
               if (priv->selection_mode == GTK_SELECTION_SINGLE &&
                   priv->selected_row == row)
@@ -1237,10 +1243,6 @@ gtk_list_box_real_button_press_event (GtkWidget      *widget,
                                           GTK_STATE_FLAG_ACTIVE,
                                           FALSE);
               gtk_widget_queue_draw (GTK_WIDGET (list_box));
-              if (event->type == GDK_2BUTTON_PRESS &&
-                  !priv->activate_single_click)
-                g_signal_emit (list_box, signals[ROW_ACTIVATED], 0,
-                               row);
             }
 
         }